package com.bc.bcapi.dao;

import com.bc.bcmodel.domain.T_ProjectModel;
import com.bc.bcmodel.domain.T_User_favoriteModel;
import com.bc.bcmodel.req.*;
import com.bc.bcmodel.resp.*;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @Name T_ProjectMapper * @Description TODO * @Author generation * @Date 2018/8/9 15:56:31 * @Version 1.0
 **/
public interface T_ProjectMapper extends BaseMapper<T_ProjectModel> {
    ProjectGetByIdResp getByPid(ProjectGetByIdReq req);

    ProjectStatusResp getStatusByPid(ProjectGetByIdReq req);

    List<ProjectSearchInfoResp> search(ProjectSearchParamReq req);

    ProjectSearchResp searchCount(ProjectSearchParamReq req);

    /**
     * 获取所有PID
     */
    List<String> getPids();

    /**
     * 项目详情
     */
    ProjectDetailResp detail(ProjectDetailReq req);

    List<T_User_favoriteModel> getFavoritTag(ProjectFavoriteReq req);

//    List<ProjectSearchInfoResp> getSearchList(ProjectFavoriteReq req);

    /**
     * 获取我的项目
     */
    List<ProjectSearchInfoResp> getMyIco(MyIcoReq req);

    /**
     * 我的参与
     */
    List<ProjectSearchInfoResp> getMyJoin(ProjectMyJoinReq req);

    ProjectDetailResp getDetailByPid(String pid);

    OrderProjectInfoResp getProjectOrderInfo(OrderSubmitInfoReq req);

    /**
     * 通过用户ID获取项目ID
     */
    ProjectGetByIdResp getPidByUserId(String user_id);

    /**
     * 通过用户查找项目的代币名称
     */
    String getTickerByUserId(String user_id);

    /**
     * 管理后台商品列表
     */
    List<MngProjectListResp> getPage(MngProjectListReq req);

    int setAuth(MngProductAuthReq req);

    /**
     * 通过项目名称获取用户编号
     * */
    String getUserIdByIcoName(String ico_name);

    /**
     * 通过项目名称获取项目编号
     * */
    String getPidByIcoName(String ico_name);

    void setContractByPid(String user_id);

    Integer getIsContract(String user_id);

}
